\subsection{Segmentar.pl}
\subsubsection{Descripción}
Este comando permite generar archivos de segmentación (opción -g) y estimar el ingreso de campañas (opcion -e). Se dispara manualmente, pero es cociente de si ya esta ejecutandose.
\subsubsection{Tipo}
	Solicitado.
\subsubsection{Lenguaje}
	Perl.

\subsubsection{Archivos de Input}
\begin{itemize}
	\item Tabla de Campañas \$CURRDIR/conf/campanas.dat
	\item Archivo de Universo \$CURRDIR/\$DATADIR/listos/universo.adsl
\end{itemize}
\subsubsection{Archivos de Output}
\begin{itemize}
	\item Archivos de Segmentos \$CURRDIR/\$DATADIR/ya/segmento.<código campaña>
	\item Archivo de Universo Procesado \$CURRDIR/\$DATADIR/listos/proc/universo.adsl
\end{itemize}

\subsubsection{Parametros}
\begin{itemize}
	\item[\bf -g] Genera una segmentación utilizando para ello hasta 16 parametros, de los cuales los primeros cuatro son obligatorios. Para indicar cualquier valor se debe utilizar el comodin * (asterisco). Todo parametro opcional que no se indica se considera comodin.
	\begin{enumerate}
		\item Marca ADSL, si el cliente tiene ADSL (S, N, *).
		\item Zona 3G, si la zona es 3G (S, N, *).
		\item Grado de morosidad del cliente, (0, 1, 2, 3, 4, 5, *).
		\item Promedio de facturación, un número de 10 digitos, mayor a 0 ó *. Puede no tener ceros a izquierda para completar los 10 digitos.
		\item Código de Central, 10 caracteres ó *.
		\item Marca IUR (S, N, *).
		\item Marca CABA (S, N, *).
		\item Marca GBAOes (S, N, *).
		\item Marca GBANor (S, N, *).
		\item Marca Country (S, N, *).
		\item Marca Delta (S, N, *).
		\item Marca Rural (S, N, *).
		\item Marca Jub (S, N, *).
		\item Marca Res (S, N, *).
		\item Marca CF (S, N, *).
		\item Marca RI (S, N, *).
	\end{enumerate}
	ADVERTENCIA: para evitar que los comodines (en la llamada por consola) sean expandidos por el shell, se debe proteger el mismo ya sea con una barra invertida o encerrandolo entre comillas simples.
	\item[\bf -e] Genera una estimación para una determinada campaña. Recibe un parametro obligatorio y uno opcional.
	\begin{enumerate}
		\item Campaña, es obligatorio. Debe ser un código de campaña valido (3 caracteres).
		\item Ponderación, es opcional. Debe ser un número entre 0.01 y 0.99, en caso de no ingresarlo se adopta 1.0
	\end{enumerate}
\end{itemize}
\subsubsection{Opciones}
\begin{itemize}
	\item[\bf -h] Emite por salida estandard un mensaje de ayuda, al log envia solo un mensaje indicativo.
	\item[\bf -b] Modo breve, el comando deja de ser interactivo. Se realizan unicamente las tareas indicadas por parametros (en el caso de la opción -g no se mueve el archivo de universo.
\end{itemize}

\subsubsection{Ejemplos de ejecución}
\begin{itemize}
	\item Segmentar el universo, para la campaña aaa, con los clientes que tienen ADSL y estan en una zona 3G, con grado de morosidad 0 y un promedio de facturación menor o igual a 100. \\
	{\ttfamily \$>./segmentar.pl -g aaa s s 0 100 }
	\item Segmentar el universo, para la campaña all, con todos los registros del universo. \\
	{\ttfamily \$>./segmentar.pl -g all '*' '*' '*' '*' }
	\item Idem anterior (el ultimo asterisco es redundante.) \\
	{\ttfamily \$>./segmentar.pl -g all '*' '*' '*' '*' '*'}
	\item -e Estimar las ganancias de la campaña est, utilizando el coeficiente 0.5. \\
	{\ttfamily \$>./segmentar.pl -g est 0.5}
\end{itemize}

\subsubsection{Pasos}
Las primeras tareas que realiza este comando es obtener de las variables de entorno la ubicación del archivo de campaña, de universo, el directorio de salida de los segmentos, directorio de archivos de universo procesados,y el formato de mensajes de log.

Las opciones -h y -b no necesitan explicación.

En caso de seleccionar la opción \emph{-g}, se procede a validar los parametros extras pasados por parametro. Si los mismo son incorrectos se solicita ingresar nuevamente todos los parametros desde el código de campaña, separados por espacios. En este momento se comprueba que la campaña exista.

Una vez validados los parametros se procede a tomar el archivo de universo y procesarlo, filtrando los registros que cumplan con los parametros, los registros son almacenados en el directorio de segmentos. Al terminar la segmentación se solicita al usuario que informe si desea realizar otra segmentación o no.

En caso afirmativo vuelve a solicitar los parametros, por el contrario se dispondra a salir de la aplicación.

Si la segmentación se realizó, el comando preguntara si se debe mover el archivo de universo al directorio de procesados.

El comando informa por salida estandard todas sus acciones, las mismas (junto con las respuestas del usuario son enviadas al archivo de log del comando y asi mismo todos los mensajes de error tambien son enviados al archivo de errores central.


